package cn.exrick.xboot.modules.bicmktbiddinginfo.service;

import cn.exrick.xboot.common.vo.PageVo;
import cn.exrick.xboot.modules.biddataproject.entity.SelectData;
import cn.exrick.xboot.modules.bicmktbiddinginfo.entity.*;
import com.baomidou.dynamic.datasource.annotation.DS;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.service.IService;

import java.util.List;
import java.util.Map;

/**
 * 招投标信息接口
 * @author sdtf
 */
public interface IBicMktBiddingInfoService extends IService<BicMktBiddingInfo> {
    /**
     * 中投标数量金额分年
     */
    List<BidAndBidBack> getSanNianbidding(String i);

    /**
     * 中投标数量金额本年
     */
    Map<String,Object> BidAndBidBackNumberAndMoneyByYear();
    /**
     * 中投标数量金额本月
     */
    Map<String,Object> BidAndBidBackNumberAndMoneyByM();

    /**
     * 省外中投标数量金额本年
     */
    List<BidAndBidBack> BidAndBidBackNumberAndMoneyByYear1();
    //上为新加

    /**
     *最新中标项目
     */
    List<SelectData> selectNewBid();

    /**
     *在投重大项目
     */
    List<SelectData> selectisBidding();

    /**
     *本年投中标数
     */
    SelectData selectBidNumber();
    /**
     *本月投中标数
     */
    SelectData BidNumberByMonth();
    /**
     *正在投中标数
     */
    SelectData Bidding();
    /**
     *本年中标情况
     */
    List<SelectData> BidInfo();

    /**
     *本月中标情况
     */
    List<SelectData> BidInfoByMonth();

    /**
     * 二级菜单：最新中标项目详情本年
     */
    List<BidInfo> NewBidInformation(PageVo page);

    /**
     * 二级菜单：最新中标项目详情本月
     */
    List<BidInfo> NewBidInformationByMonth(PageVo page);

    /**
     * 二级菜单：再投重大项目详情本年
     */
    List<BidInfo> isBiddingInformation(PageVo page);

    /**
     * 二级菜单：再投重大项目详情本月
     */
    List<BidInfo> isBiddingInformationByMonth();
    /**
     * 二级菜单：再投重大项目详情自定义查询
     */
    List<BidInfo> isBiddingInformationByDate(SelectDate selectDate);

    /**
     * 二级菜单：投标中标数量金额详情
     */
    List<BidAndBidBack> BidAndBidBackNumberAndMoney(BidAndBidBack bidtype);

    /**
     * 二级菜单：投标中标数量金额详情本月
     */
    List<BidAndBidBack> BidAndBidBackNumberAndMoneyByMonth(BidAndBidBack bidtype);

    /**
     * 二级菜单：正在投标中标数量金额详情本年
     */
    List<IsBiddingInfo> isBiddingNumAndMoney();
    /**
     * 二级菜单：正在投标中标数量金额详情本月
     */
    List<IsBiddingInfo> isBiddingNumAndMoneyByMonth();



    /**
     * 三级菜单：获取各部门投标详细信息
     */
    List<BidInfo> getDeptInfo(RequestData requestData,PageVo page);
    /**
     * 三级菜单：获取各部门中标详细信息
     */
    List<BidInfo> getDeptBidBackInfo(RequestData requestData,PageVo page);
    /**
     * 三级菜单：获取各部门合同详细信息
     */
    List<DeptInfo> getDeptContractInfo(RequestData requestData,PageVo page);

    /**
     * 三级菜单：获取各部门在投重大项目详细信息
     */
    List<BidInfo> getDeptIsBiddingInfo(RequestData requestData,PageVo page);



    /**
     * 处理查询到的数据
     */
    List<BicMktBiddingInfo> selectBidBack(List<BicMktBiddingInfo> records);

    /**
     * 获取bidding，设置再投项目条件和中标条件
     */
    List<String> getbiddingid();

    /**
     * 获取中标时间，并重新赋值
     */
    List<BicMktBiddingInfo> getBidBackTime();
}